Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
/
Звіт
до лабораторної роботи № 5
з дисципліни «Основи алгоритмізації та програмування, частина 1»
на тему:
«Засоби вiдлагодження iнтегрованого середовища Visual C++ 2005: точки переривання, покрокове виконання. Розв'язування на С задач, в яких використовуються числовi масиви та визначення i виклик функцiй»
Мета:
познайомитися iз основними засобами вiдлагодження iнтегрованого середовища Visual C++ 2005;
познайомитися iз засобами опису функцiй та виклику їх в мовi програмування С;
познайомитися iз використанням масивiв в мовi програмування С.
Хід виконання роботи
Iнтегроване середовище розробки програм Visual C++ має вбудований вiдлагоджувач призначений для виявлення помилок (їх локалiзацiї) у виконавчiй програмi. Процес вiдлагодження полягає в корекцiї чи модифiкацiї програми таким чином, щоб програма виконувалася правильно i вiдповiдала поставленiй задачi.
У Visual Studio основними можна вважати такi засоби:
точки переривання;
покрокове виконання програми;
вiкно спостереження за змiнними класу auto;
вiкно спостереження за локальними змiнними;
вiкно спостереження за змiнними чи виразами (вiкно Watch).
Точка переривання - це мiсце в програмi, в якiй виконання програми буде призупинине. В програмi можна встановити довiльну кiлькiсть точок переривання.
Точку переривання можно створити наступним чином:
перемiстити курсор в те мiсце програми, де необхiдно встановити точку переривання ;
натиснути на клавiшу F9.
/
Рис. 1. – приклад встановлення точки переривання
Мiсце встановлення точки переривання вiдзначається кружком злiва вiд вiдповiдного рядка програми у вiкнi з текстом програми. Для того, щоб вiдмiнити ("зняти") точку переривання, потрiбно повторно натиснути на клавiшу F9.
Основними засобами спостереження за змiнимим вiдлагоджуваної програми є вiкно Autos, вiкно Locals та вiкно Watch.
У вiкнi Autos вiдображаються значення змiнних iз класом пам'ятi Auto. Попереднiй малюнок це iлюструє.
У вiкнi Locals вiдображаються значення локальних змiнних виконуваної функцiї.
У вiкнi Watch можна задати iдентифiкатори змiнних чи вирази значення яких виводяться у цьму вiкнi пiд час виконання програми.
Індивідуальне завдання
4.9 Задані дійсні числа, які визначають відрізки a, b, c і d. Для кожної трійки тих відрізків, з яких можна побудувати трикутник, обчислити площу даного трикутника. Обчислення площі трикутника описати з допомогою функції мови С.
#include <stdio.h>
#include <conio.h>
#include <Windows.h>
#include <math.h>
float f1(float a, float b, float c)
{
float p = (a + b + c)/2;
return sqrt(p*(p - a)*(p - b)*(p - c));
}
float f2(float a, float b, float d)
{
float p = (a + b + d)/2;
return sqrt(p*(p - a)*(p - b)*(p - d));
}
float f3(float a, float c, float d)
{
float p = (a + c + d)/2;
return sqrt(p*(p - a)*(p - c)*(p - d));
}
float f4(float b, float c, float d)
{
float p = (b + c + d)/2;
return sqrt(p*(p - b)*(p - c)*(p - d));
}
int main(void)
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
float a, b, c, d;
printf("Введіть сторони трикутника\n");
scanf("%f%f%f%f", &a,&b,&c,&d);
if (a > 0 && b > 0 && c > 0)
printf("%f ", f1(a, b, c));
if (a > 0 && b > 0 && d > 0 )
printf("%f ", f2(a, b, d));
if (a > 0 && c > 0 && d > 0)
printf("%f ", f3(a, c, d));
if (b > 0 && c > 0 && d > 0 )
printf("%f ", f4(b, c, d));
printf("Для продовження нажміть на будь-яку клавішу....");
getch();
return 0;
}
/
Рис. 2. – результат виводу програми, знаходить площу трикутника
5.9 Задані дійсні числа x1, x2, . . . , x25. Визначити, скільки із них приймають найбільше значення.
#include <stdio.h>
#include <conio.h>
int main()
{
int array[25];
int c, iter, jter, x;
int N = sizeof (array) / sizeof (array[0]) ;
for(c=0; c<25; c++)
{
scanf("%d", &array[c]);
}
for (iter=1; iter<N; iter++) /* зовнішній цикл */
{
for (jter=N-1; jter>=iter; jter--) /* внутрішній цикл */...